import com.baomidou.mybatisplus.annotations.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.ConfigGenerator;

/**
 * Created by wuwenhao on 16/4/27.
 */
public class MyBatisGenerator {
    public static void main(String[] args) {
        ConfigGenerator cg = getConfigGenerator();

		/* mysql 数据库相关配置 */
        cg.setDbDriverName("com.mysql.jdbc.Driver");
        cg.setDbUser("root");
        cg.setDbPassword("");
        cg.setDbUrl("jdbc:mysql://127.0.0.1:3306/webadmin?characterEncoding=utf8");
        /*
         * 表主键 ID 生成类型, 自增该设置无效。
		 * <p>
		 * IdType.AUTO 			数据库ID自增
		 * IdType.INPUT			用户输入ID
		 * IdType.ID_WORKER		全局唯一ID，内容为空自动填充（默认配置）
		 * IdType.UUID			全局唯一ID，内容为空自动填充（默认配置）
		 * </p>
		 */
        cg.setIdType(IdType.AUTO);
        AutoGenerator.run(cg);
    }

    protected static ConfigGenerator getConfigGenerator() {
        ConfigGenerator cg = new ConfigGenerator();
        cg.setEntityPackage("com.xstudio.models");//entity 实体包路径
        cg.setMapperPackage("com.xstudio.mapper");//mapper 映射文件路径
        cg.setServicePackage("com.xstudio.dao");//service 层路径

		/* 此处可以配置 SuperServiceImpl 子类路径，默认如下 */
        //cg.setSuperServiceImpl("com.baomidou.framework.service.impl.SuperServiceImpl");

		/* 此处设置 String 类型数据库ID，默认Long类型 */
        //cg.setConfigIdType(ConfigIdType.STRING);

        cg.setSaveDir("/Users/wuwenhao/Documents/OpenSource");// 生成文件保存位置

		/*
         * 设置字段是否为驼峰命名，驼峰 true 下划线分割 false
		 */
        cg.setColumnHump(false);
        /*
         * 表是否包括前缀
		 * <p>
		 * 例如 mp_user 生成实体类 false 为 MpUser , true 为 User
		 * </p>
		 */
        cg.setDbPrefix(false);
        return cg;
    }
}
